The present invention relates to data processing by digital computer, and more particularly to client-server communication.
Client-server applications typically have two components: a server or back-end component that provides the application logic, and a client or front-end component through which a user interacts with the application. The server component, which is sometimes referred to simply as the application itself, is usually executed on a computer that is specifically configured as a server. The server computer can have resources that provide high computational and communication bandwidth, for example, so that it can execute multiple applications that interact with numerous clients. The client component can be executed on a separate computer, although in some instances the server component and the client component may be executed on the same computer.
In a heterogeneous system landscape, a variety of different types of clients may initiate sessions and interact with a server. In such a situation, the server and the applications running on the server can tailor their functionality to match the type of client being served. For example, a server and its applications can produce output (e.g., a user interface) specifically formatted for a particular client, invoke special features or functionality available on the client, and otherwise respond to and interact with client-specific behavior.